package com.ruoyi.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;



/**
 * 咨询订单视图对象 p_order
 *
 * @author ruoyi
 * @date 2022-07-25
 */
@Data
@ApiModel("咨询订单视图对象")
@ExcelIgnoreUnannotated
public class POrderVo {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    @ApiModelProperty("")
    private Long id;

    /**
     * 订单标题
     */
    @ExcelProperty(value = "订单标题")
    @ApiModelProperty("订单标题")
    private String title;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    @ApiModelProperty("用户id")
    private Long userId;

    /**
     * 咨询师id
     */
    @ExcelProperty(value = "咨询师id")
    @ApiModelProperty("咨询师id")
    private Long adviserId;

    /**
     * 服务类型 0 立即咨询 1 预约咨询 2 文字咨询 3 包月套餐
     */
    @ExcelProperty(value = "服务类型 0 立即咨询 1 预约咨询 2 文字咨询 3 包月套餐", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "order_server_type")
    @ApiModelProperty("服务类型 0 立即咨询 1 预约咨询 2 文字咨询 3 包月套餐")
    private String serviceType;

    /**
     * 是否使用优惠券 0 否 1 是
     */
    @ExcelProperty(value = "是否使用优惠券 0 否 1 是", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    @ApiModelProperty("是否使用优惠券 0 否 1 是")
    private String isCoupon;

    /**
     * 开始时间
     */
    @ExcelProperty(value = "开始时间")
    @ApiModelProperty("开始时间")
    private Date startTime;

    /**
     * 咨询时长
     */
    @ExcelProperty(value = "咨询时长")
    @ApiModelProperty("咨询时长")
    private String timeSize;

    /**
     * 咨询类型
     */
    @ExcelProperty(value = "咨询类型")
    @ApiModelProperty("咨询类型")
    private Long askType;

    /**
     * 预约时间
     */
    @ExcelProperty(value = "预约时间")
    @ApiModelProperty("预约时间")
    private Date appointmentTime;

    /**
     * 订单金额
     */
    @ExcelProperty(value = "订单金额")
    @ApiModelProperty("订单金额")
    private BigDecimal price;

    /**
     * 订单状态 0 待付款 1 待咨询 2 待评价 3 已完成 4 已取消
     */
    @ExcelProperty(value = "订单状态 0 待付款 1 待咨询 2 待评价 3 已完成 4 已取消", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "order_type")
    @ApiModelProperty("订单状态 0 待付款 1 待咨询 2 待评价 3 已完成 4 已取消")
    private String orderStatus;

    /**
     * 支付类型 0 余额 1 微信
     */
    @ExcelProperty(value = "支付类型 0 余额 1 微信", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "pay_type")
    @ApiModelProperty("支付类型 0 余额 1 微信")
    private String payType;

    /**
     * 订单备注
     */
    @ExcelProperty(value = "订单备注")
    @ApiModelProperty("订单备注")
    private String remark;

    /**
     * 取消原因
     */
    @ExcelProperty(value = "取消原因")
    @ApiModelProperty("取消原因")
    private String returnRemark;

    /**
     * 订单类型 0 测试订单 1 咨询订单
     */
    @ExcelProperty(value = "订单类型 0 测试订单 1 咨询订单", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "order_category_type")
    @ApiModelProperty("订单类型 0 测试订单 1 咨询订单")
    private String orderCategory;


}
